The data transmission switches (i.e. Bridges, Hubs, Routers etc.) used in computer network (including Internet such as for example TCP/IP) serial communication protocols have a dedicated amount of memory allocated per transmission (input/output) port (also called “buffer memory”). This buffer memory is used by the switch for “loading transactions” (i.e. where the data transfer direction is inbound from an attached peripheral device to the switch) and for “storage transactions” (i.e. where the data transfer direction is outbound from the switch to an attached peripheral device).
Given the wide variety of peripheral devices in use today, it is possible for some of them to function as “store intensive” devices (i.e., the amount of data received by the device is much larger than the amount of data it transmits) while others can function as “load intensive” devices (i.e., the amount of data transmitted by the device is much larger than the amount of data it receives). Some examples of “store intensive” peripheral devices include printers, LCD monitors, etc.; while some examples of “load intensive” peripheral devices are: scanners, PC cameras, DVD/CD ROMs, etc.
Those switches supporting the “Hot-Plug” and “Hot-Swap” communication protocol(s) are designed to be connected to any (“generic”) peripheral device that is compatible with the protocol that the switch supports. The switches used for “generic” peripheral devices typically do not offer any optimization solutions for utilizing the buffer memory allocated to a “load” intensive” or “store intensive” device, often causing a large portion of the memory allocated for the less frequent transmission direction of a device port to be left unused (and thus creating a need to make switch buffer memory utilization more efficient in order to improve overall system or network performance).